import axios from "axios";
// import EventBus from "./click"
import request from '@/config/httpload.js'
let mapInstance = null; // 保存地图实例
const markers = []; // 保存创建的标记点
// import {getMap} from '../../api/index.js'

function getMap(){
    return request.get("/system/device/listAll");
}
// 异步函数，获取地图数据
async function Map() {
  try {
    
    const res = await getMap({status:'3'}); 
    // 从本地服务器获取数据
    // console.log(res)
    return res.data; // 返回地图数据
  } catch (error) {
    // 处理错误
    console.error("Error fetching data:", error); // 输出错误信息到控制台
    return []; // 返回空数组
  }
}

// 创建标记点
function createMarkers(data, map) {
 
  data.forEach((item) => {
    console.log(data)
    console.log(item)
      const marker = new TMap.MultiMarker({
        map,
        styles: {
          marker: new TMap.MarkerStyle({
            width: 20,
            height: 30,
            anchor: { x: 10, y: 30 },
          }),
        },
        geometries: [
          {
            position: new TMap.LatLng(item.latitude, item.longitude), // 设置标记位置
            id: item.deviceId.toString(), // 将id转换为字符串
          },
        ],
      });
      
      marker.on("click", () => {
        EventBus.$emit('marker', item);
      console.log(item)
      });
  
      markers.push(marker);
      console.log(markers)
  });
}
async function initMap() {
  const data = await Map();
  const center = new TMap.LatLng(39.6298, 118.1804); // 定义地图中心点坐标
  mapInstance = new TMap.Map(document.getElementById("container"), {
    center,
    zoom: 13, // 设置地图缩放级别
    pitch: 0, // 设置俯仰角
    rotation: 0, // 设置地图旋转角度
  });
  createMarkers(data,mapInstance)
}

// 根据id查找标记点
function findMarkerById(id) { 
  return markers.find(marker => marker.geometries[0].id === id);
}

// 移动地图到指定的标记点
function moveMapToMarker(marker) {
  if (marker) {
    const bounds = new TMap.LatLngBounds();
    bounds.extend(marker.geometries[0].position);
    mapInstance.setZoom(5);
    mapInstance.fitBounds(bounds);
   
  }
}

// 初始化地图


export { Map, initMap, findMarkerById, moveMapToMarker };



